// pages/live/liveList.js
import Wx from "../../common-wx/wx"
import ECache from "../../utils/cache";

const fetch = require('../../utils/fetch');
import Router from '../../utils/router';
import {setNav} from "../../utils/nav";
import {Api} from "../../network/api";
Page({

    /**
     * 页面的初始数据
     */
    data: {
        infoData: [],
        tabCur: 'live',
        classify: {},
        key: '',
        page: 1,                // 页数
        pageTotal: 1,           // 总页数
        dataKey: false,         // 是否发送key
        is_auth: 0,             // 是否主播
        isLoad: false,          // 是否onload
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
         //设置nav
         setNav(this,"直播")
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        console.log(Wx.getStorage(ECache.LIVE_KEY), 'key')
        let _this = this;
        _this.setData({
            key: Wx.getStorage(ECache.LIVE_KEY),
            page: 1
        });
        if(_this.data.key) {
            _this.getClassified();
            _this.getData();
            _this.liveAnchor();
        }
        else {
            Router.navTo('Login');
        }
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {
        this.getData();
    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    },
    // tab切换
    changeTab(e) {
        this.setData({
            dataKey: e.currentTarget.dataset.index == 'follow' ? true : false,
            tabCur: e.currentTarget.dataset.index,
            page: 1,
            infoData: [],
        });
        this.getData();
    },

    // 获取数据
    getData() {
        let _this = this;
        if(_this.data.isSend) {
            return false;
        }
        _this.setData({
            isSend: true
        });
        wx.showLoading({
          title: '加载中',
        })
        console.log(_this.data.tabCur)
        let url = '';
        if(_this.data.tabCur == 'live') {
            url = Api.LiveList
        }
        else if(_this.data.tabCur == 'follow') {
            url = Api.LiveListFollow
        }
        else {
            url = Api.LiveList
        }
        fetch(url, {
            method: 'POST',
            data: {
                classified_id: _this.data.tabCur,
                key: _this.data.dataKey ? _this.data.key: '',
                page: _this.data.page
            },
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded',
            },
        }).then(res => {
            console.log(res)
            _this.setData({
                isSend: false
            });
            wx.hideLoading();

            if (res.status == '0') {
                Wx.showToastError(res.error);
                return false;
            }
            let arr = _this.data.infoData;
            if(_this.data.page == '1') {
                arr = [];
                _this.setData({
                    pageTotal: res.page_count
                });
            };
            arr = arr.concat(res.list);
            _this.setData({
                infoData: arr,
                page: +_this.data.page + 1
            });
        });
    },

    // 根据分类获取数据
    getClassifiedData() {
        let _this = this;
        wx.showLoading({
          title: '加载中',
        })
        _this.setData({
            infoData: []
        })
        fetch(Api.LiveList, {
            method: 'POST',
            data: {
                classified_id: _this.data.tabCur
            },
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded',
            },
        }).then(res => {
            console.log(res.list)
            wx.hideLoading();
            _this.setData({
                infoData: res.list
            });
        })
    },

    // 获取分类
    getClassified () {
        let _this = this;
        wx.showLoading({
          title: '加载中',
        });
        fetch(Api.LiveClassify, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded',
            },
        }).then(res => {
            wx.hideLoading();
            if(res.status == '0') {
                Wx.showToastError(res.error)
                return false;
            }
            _this.setData({
                classify: res.list
            });
        })
    },

    // 去直播间
    toLive (e) {
        Router.navTo('Live', '?room_id=' + e.currentTarget.dataset.roomid);
    },

    // 是否主播
    liveAnchor() {
        let _this = this;
        fetch(Api.LiveAnchor, {
            method: 'POST',
            data: {
                key: this.data.key
            },
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded',
            },
        }).then(res => {
            if(res.status == '0') {
                return false;
            }
            _this.setData({
                is_auth: res.is_auth
            });
        })
    },
})
